class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string> &strs) {
        //聪明绝顶 每一个异位词排序以后都是一样的 这个一样的就是标签
        //在每个标签里我们添加单词 
        //string key = s;就是获取当前元素 然后排序成字母标签 然后字母标签里面添加原先的s
        //hash还能这么用
        unordered_map<string, vector<string>> hash;
        for (auto s : strs) {
            string key = s;
            sort(key.begin(), key.end());
            hash[key].push_back(s);
        }
        
        vector<vector<string>> res;
        for (auto it = hash.begin(); it != hash.end(); it++) {
            res.push_back(it->second);
        }
        
        return res;
    }
};
